#pragma once 
#include <functional>
#include <iostream>
#include <unistd.h>
using namespace std;

// 这里的任务有两种形式
// 形式二，使用包装器function
using task_t = function<void()>;
inline void Download() {
    cout << "下载中..." << endl;
    sleep(5);
}

// 第一种形式，类
class Task {
public:
    Task() {}
    Task(int x, int y) : _x(x), _y(y) {}
    void Execute() {
        _result = _x * _y;
    }
    int getX() {
        return _x;
    }
    int getY() {
        return _y;
    }
    int getResult() {
        return _result;
    }
private:
    int _x, _y;
    int _result;
};

